package top.infopub.mgr.fia.service;

import com.github.pagehelper.Page;
import top.infopub.dto.fia.FundsAppnDto;
import top.infopub.generic.GenericService;
import top.infopub.mgr.common.vo.RspVo;
import top.infopub.mgr.fia.domain.FundsAppnDomain;
import top.infopub.mgr.fia.jsonvo.FundsAppnJsonVo;
import top.infopub.mgr.fia.vo.FundsAppnVo;
import top.infopub.model.fia.FundsAppn;
import top.infopub.model.mkt.ProjectAttachment;
import top.infopub.security.vo.AuthorizationVO;

import java.util.List;

public interface FundsAppnService extends GenericService<FundsAppn, String> {
    /**
     * 根据条件查询分页记录
     * @param page
     * @param fundsHandVo
     * @return 
     * @see
     */
    Page<FundsAppnDomain> selectPageByDomainWhere(Page<FundsAppnDomain> page,
                                                  FundsAppnVo fundsHandVo);

    /**
     * 根据id查询详情
     * @param id
     * @return
     */
    FundsAppnJsonVo queryDetailById(String id);

    /**
     * 编辑
     * @param fundsAppnDto
     * @param attachmentList
     * @param submitType
     * @param vo
     * @return
     */
    RspVo edit(FundsAppnDto fundsAppnDto, List<ProjectAttachment> attachmentList, Integer submitType, AuthorizationVO vo);

    /**
     * 编辑财务信息
     * @param fundsAppn
     */
    RspVo modifyFinInfo(FundsAppn fundsAppn, AuthorizationVO vo, String processId);
}